# -*- encoding:utf-8 -*-
# @Time : 2021/02/02
# @Author : Xuejimin
"""
第七周作业 1
1、实现一个函数获取一个目录下所有以.py结尾的文件（包含目录下的子目录中的.py文件，不要使用glob方法进行匹配）
2、实现一个可迭代的类
"""
from pathlib import Path
import  shutil
src_dir =Path('a')

print('第一题')
def copy_files(src_dir, dst_dir='b'):
    for x in src_dir.iterdir(): #遍历当前文件夹
        if x.is_file() and x.with_name('.py'): #判断当前对象是否为文件并且后缀为 '.py'.
            print(x)
            shutil.copy(x, dst_dir)
        elif x.is_dir():  #文件夹递归
            print(x)
            return copy_files(x)

copy_files(src_dir)   #运行函数

print('*'*50)
print('第二题')
# 可无限迭代fib 数列
class fib:
    def __init__(self):

        self.a = 1
        self.b = 1

    def __next__(self):
        # 定义初始 a 和 b
        self.a, self.b = self.b, self.a + self.b
        result = self.a
        return result

    # 该方法必须返回一个迭代器
    def __iter__(self):
        return self


rt = fib()
# 对迭代器进行迭代
def fib(n):
    i = 1
    print(1)
    for e in rt:
        i += 1
        if i <= n:
            print(e)
        elif i>n:
            break

fib(5)


"""
第一题不是实现copy文件
第二题是实现可迭代的类
"""
